#pragma once

#include "Grammar.h"
#include "ErrorContainer.h"

using namespace std;

struct LexWord{
	string type;
	string value;
	int stringNum;
};

class LexAnalyst
{
public:
	LexAnalyst(string fileName, vector<string> liter, vector<string> tokens);
	~LexAnalyst(void);
	vector<LexWord> getProg();
private:
	vector<string> removeComments(vector<string> inFile);
	void parse(string filePath);
	bool checkIdent(string str);
	void saveToFile();

	vector<LexWord> m_inFile;
	vector<string> m_liter;
	vector<string> m_tokens;
	vector<string> m_ident;
};
